A direct current and low frequency component of a considerable amount is usually included in the binary signals read from the data stored in the optical data storage medium. The direct current (DC) and low frequency component may interfere with the server control signals to the optical disk players and may further prevent the data in the optical disk from reading. Therefore, various modulation and storage technologies are developed to control the direct current and low frequency component included in the binary signals read from or written to the data stored in the optical data storage medium.
The multi-level technology is one of the high-capacity optical data storage technologies. The multi-level run length limited (ML-RLL) technology, due to the affinity to the current optical data storage technology, is easier to implement. In practice, the non-return to zero (NRZ) signal is first generated, and then the non-return to zero invert (NRZI) signal is extracted from the NRZ signal using the equation, NRZI[n+1]=mod(NRZI[n]+NRZ[n+1], level_number), where level_number is the number of levels in use.
FIG. 1 shows the NRZ signal, NRZI signal, and the changes of the digital sum value (DSV). As shown in FIG. 1, with level_number=3, the NRZI signal is at the LV0 level initially. When NRZ=2, the new NRZI signal becomes mod(0+2, 3)=2; therefore, the new NRZI signal is at LV2 level. Next, when NRZ=1, the new NRZI signal becomes mod(2+1, 3)=0; therefore, the new NRZI signal returns to LV0 level. When NRZ=1 again, the new NRZI signal becomes mod(0+1, 3)=1; therefore, the new NRZI signal becomes at LV1 level, and so on. For maintaining the good spectrum characteristics or simplifying the circuit design, it is necessary to define the maximum and the minimum number of consecutive zeros in the NRZ signal. The minimum and the maximum numbers, called the minimum and the maximum of the run length, are denoted as d and k, respectively. For example, (d,k)=(2,8) indicates that at least two consecutive zeros and at most eight zeros must exist between any two non-zero values of the NRZ signal.
To prevent modulated NRZI signal from affecting the low frequency server control signal, the conventional two-level modulation usually uses the digital sum of the NRZI signal obtained by control codes to reduce the low frequency component of the NRZI signal. Theoretically, the smaller the range of the changes of the digital sum, the smaller the low frequency component is. The digital sum of the two-level modulation is defined as the difference of the number of the digits of the NRZI signal at high level and the low level. In the multi-level modulation, a weight is assigned to each level. As shown in FIG. 1, the weight of the three-level NRZI signal is assigned as 1, 0, −1, from top to bottom. If the initial digital sum is 0, the changes of the digital sum at each time point are computed.
To modulate correct NRZ signal, the state modulation is one of the commonly adopted modulation methods. Its main feature is to perform state categorization on the RLL codewords that conform to the (d,k) constrain according to the leading or trailing zeros, and then generate a corresponding table based on the state categories. During modulation, in addition to selecting the corresponding codeword from the table according to the current state, it is necessary to find the state of the next codeword so that the modulation will not violate the (d,k) constrain.
In 2000, Lee disclosed, in U.S. Pat. No. 6,604,219, a method to write a multi-level data sequence into a storage medium. When retrieving the multi-level data sequence from the storage medium, the disclosed method can reduce the DC and the low frequency component of the read data. The method estimates a plurality of candidate merge symbols individually to determine the impact on the running digital sum of the read signal from each merge symbol, and selects the preferred merge symbol. The merge symbol is inserted into the multi-level data sequence to control the running digital sum (that is, the DC and the low frequency component) of the read signal. However, the method must increase the length of the merge symbol to entirely control the running digital sum of the signal. Furthermore, the merge symbol may be even longer for connecting codewords when taking the (d,k) constrain into account. All these will reduce the coding rate.
In 2003, Immink disclosed a high performance modulation method in the article “Efficient DC-Free RLL Codes for Optical Recording”, appeared in IEEE Transactions on Communications, Vol. 52, No. 3, March 2003. The method design a modulation table for ML3 m/n(d,k), where d=2 and k=8 are the minimum and the maximum of the running length, respectively, m=8 is the information word length, and n=11 is the codeword length. The actual number of levels of the signal is 3.
FIG. 2A shows a part of the ML3 8/11(2,8) modulation table according to the Immink method. As the table is too large, only a small part (user data 44 to 6 ) is selected for explanation. As shown in FIG. 2A, the modulation table includes three states (S1, S2, S3). The first and the second digits of the codewords belonging to the S1 are both 0. The first digit of the codewords belonging to the S2 is 0, and if the second digit is 0, the third digit must be “X”. The first digit of the codewords belonging to S3 is “X”. The “X” in LV3 can be either 1 or 2. S3 can be further classified as S30 and S31. That is, when the current state is S3, two corresponding codewords (S30, S31) can be found. The two codewords can be either the same or different. The codeword with the lower DC and low frequency component can be selected for output. In this modulation method, the power spectrum density (PSD) is about −3 dB at the standard frequency10−4.
On the other hand, when the current state is S1, it indicates that the trailing 0 of the previous codeword is at least zero. When the current state is S2, it indicates that the trailing 0 of the previous codeword is at least 1. When the current state is S30 or S31, it indicates that the trailing 0 of the previous code word is 2.
Regardless of the current state, the codeword CA and the next state SB can be found in the modulation table according to the user data UA and the current state SA. According to the next user data UB and the codeword belonging to SB, the next codeword CB can be found, and so on. This can complete the modulation of all the user data. In demodulation, because the CA of the state SA may appear more than once, it requires the next state SB to demodulate the UA. CA and the possible SB are listed in FIG. 2B. FIG. 2B shows a relationship diagram between CA and the next state SB in the ML3 8/11(2,8) modulation table.
The coding efficiency of the high performance method is as high as 95%. However, if the coding is based on its modulation table, the function of low frequency component control for the obtained NRZI signals does not meet the requirements of the users.